package com.huangjue.backend.mapper;

import com.huangjue.backend.entity.Course;
import com.huangjue.backend.dto.CourseWithTeacherDTO;
import com.huangjue.backend.entity.StudentCourse;
import org.apache.ibatis.annotations.Mapper;
import org.apache.ibatis.annotations.Param;
import java.util.List;

@Mapper
public interface CourseMapper {

    /**
     * 获取所有课程信息
     */
    List<Course> selectAllCourses();

    /*
    * 搜索课程
    * */
    List<Course> getCoursesByKeywords(@Param("keyword") String keyword);
    /*
    * 获取推荐课程
    * */
    List<Course>  getRecommendCourse();

    List<CourseWithTeacherDTO> selectAllCoursesWithTeacher();

    List<Course> selectCoursesByTeacherId(@Param("teacherId") Integer teacherId);

    List<StudentCourse> getUserCourses(@Param("userId") Integer userId);

    /**
     * 更新课程浏览量
     */
    int updateCourseViews(@Param("courseId") Integer courseId);

    /**
     * 更新课程点赞数
     */
    int updateCourseLikes(@Param("courseId") Integer courseId);

    List<Course> selectCoursesByIds(@Param("ids") List<Integer> ids);

    // 新增：按ID查询课程
    Course selectById(@Param("courseId") Integer courseId);
}